package main

import (
	"godemo/entry"
	"godemo/mydb"
)

var db, _ = mydb.GetDB()

//var email = "8q975@qq.com"
var u = &entry.User{
	Name:  "李四",
	Age:   20,
	Email: nil,
}

func main() {
	// 自动生成表
	db.AutoMigrate(u)

	var u entry.User
	// // db.Debug().Take(&u, 19)
	// db.Debug().Find(&u, "name = ?", "李四")
	// //将数组转成json
	// data, _ := json.Marshal(u)
	// s_data := string(data)
	// fmt.Println(s_data)

	// db.Debug().Find(&u, []int{1, 10, 19})
	// fmt.Println(u)

	// db.Debug().Find(&u, "name in (?)", []string{"李四", "李四1"})
	// fmt.Println(u)
	// db.Debug().First(&u)
	// fmt.Println(u)

	//save 更新所有字段
	db.Take(&u, 1)
	*u.Email = "fjajfa@qq.com"
	//db.Debug().Save(u)

	//Select 只更新指定字段
	db.Select("email").Save(u)

	db := db.Debug()
	var us []entry.User
	// db.Find(&us, []int{1, 2, 3}).Updates(entry.User{Age: 10})
	// fmt.Println(us)
	db.Find(&us, []int{3, 4})
	// db.Debug().Last(&u)
	// fmt.Println(u)

	/*
		var users []entry.User
		for i := 0; i < 10; i++ {
			users = append(users, entry.User{
				Name:  fmt.Sprintf("李四%d", i+1),
				Age:   20 + i + 1,
				Email: nil,
			})
		}
		err := db.Create(users).Error
		fmt.Println(err)
	*/

}
